package me.yushuai.wukong.base.service;

import me.yushuai.wukong.base.api.dto.ConfigDefinitionDTO;
import me.yushuai.wukong.base.api.dto.CreateConfigDTO;
import me.yushuai.wukong.common.exceptin.BizIdNotExistException;
import me.yushuai.wukong.common.exceptin.DuplicateBizIdException;
import me.yushuai.wukong.common.service.BaseService;

/**
 * 配置定义
 *
 * @author zhoushuai@189.cn
 * @since 2023-04-03
 */
public interface ConfigDefinitionService extends BaseService {

    /**
     * 新建一个配置定义
     *
     * @param dto 配置定义
     * @throws DuplicateBizIdException 检查配置的业务id是否重复
     */
    void createConfig(CreateConfigDTO dto) throws DuplicateBizIdException;

    /**
     * 查询配置定义的详细信息
     *
     * @param bizId 业务Id
     * @return 返回配置定义信息
     * @throws BizIdNotExistException 当业务Id不存在时抛出异常
     */
    ConfigDefinitionDTO findByBizId(String bizId) throws BizIdNotExistException;

}
